[Tracer] (Event Grid 4/5) Add Azure Functions support - #8914
[Tracer] (Event Grid 4/5) Add Azure Functions support#8914pablomartinezbernardo wants to merge 1 commit into
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
BenchmarksBenchmark execution time: 2026-07-29 10:32:29 Comparing candidate commit 27f0125 in PR branch Found 1 performance improvements and 1 performance regressions! Performance is the same for 70 metrics, 0 unstable metrics, 63 known flaky benchmarks, 63 flaky benchmarks without significant changes.
|
49fa28b to
deb530a
Compare
4b804a8 to
4e4e326
Compare
4e4e326 to
5613f67
Compare
deb530a to
2dcd501
Compare
4e4e326 to
5613f67
Compare
| // 7 spans total: 1 health-check ping + 6 meaningful spans | ||
| // Wait for at least 7 spans (1 health-check ping + 6 meaningful). | ||
| var allSpans = await agent.WaitForSpansAsync(7, timeoutInMilliseconds: 30000, returnAllOperations: true); | ||
| // Filter out the health-check ping used to detect host readiness | ||
| var spans = allSpans.Where(s => s.Resource != "GET /admin/host/ping").ToImmutableList(); | ||
| var filteredSpans = allSpans.Where(s => s.Resource != "GET /admin/host/ping").ToImmutableList(); | ||
| var manualSpan = filteredSpans.FirstOrDefault(s => s.Name == "Manual inside ServiceBusTrigger"); | ||
| var sendSpan = filteredSpans.FirstOrDefault(s => s.Name == "azure_servicebus.send"); | ||
| var spans = filteredSpans | ||
| .Where(s => s.TraceId == manualSpan?.TraceId || s.TraceId == sendSpan?.TraceId) | ||
| .ToImmutableList(); |
There was a problem hiding this comment.
Event hubs was already doing this, I saw some errors happening because of this, fixing it here
5613f67 to
f532080
Compare
2dcd501 to
2adf2d3
Compare
f532080 to
9c329a7
Compare
2adf2d3 to
5e098c3
Compare
5e098c3 to
7f77047
Compare
9c329a7 to
0d76d64
Compare
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8914) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8914) - mean (71ms) : 69, 72
master - mean (71ms) : 69, 74
section Bailout
This PR (8914) - mean (75ms) : 73, 77
master - mean (78ms) : 75, 82
section CallTarget+Inlining+NGEN
This PR (8914) - mean (1,089ms) : 1030, 1149
master - mean (1,092ms) : 1035, 1149
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8914) - mean (109ms) : 106, 111
master - mean (113ms) : 107, 119
section Bailout
This PR (8914) - mean (113ms) : 108, 118
master - mean (113ms) : 108, 118
section CallTarget+Inlining+NGEN
This PR (8914) - mean (783ms) : 769, 797
master - mean (784ms) : 766, 802
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8914) - mean (97ms) : 95, 100
master - mean (100ms) : 94, 106
section Bailout
This PR (8914) - mean (98ms) : 96, 100
master - mean (102ms) : 96, 107
section CallTarget+Inlining+NGEN
This PR (8914) - mean (943ms) : 911, 975
master - mean (944ms) : 908, 980
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8914) - mean (99ms) : 94, 105
master - mean (95ms) : 93, 97
section Bailout
This PR (8914) - mean (98ms) : 94, 103
master - mean (97ms) : 95, 98
section CallTarget+Inlining+NGEN
This PR (8914) - mean (825ms) : 781, 870
master - mean (818ms) : 785, 850
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8914) - mean (192ms) : 189, 196
master - mean (191ms) : 188, 194
section Bailout
This PR (8914) - mean (195ms) : 193, 197
master - mean (195ms) : 193, 197
section CallTarget+Inlining+NGEN
This PR (8914) - mean (1,173ms) : 1127, 1219
master - mean (1,173ms) : 1121, 1224
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8914) - mean (274ms) : 269, 278
master - mean (274ms) : 271, 277
section Bailout
This PR (8914) - mean (274ms) : 271, 276
master - mean (274ms) : 271, 277
section CallTarget+Inlining+NGEN
This PR (8914) - mean (935ms) : 918, 952
master - mean (942ms) : 926, 958
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8914) - mean (267ms) : 263, 272
master - mean (267ms) : 264, 271
section Bailout
This PR (8914) - mean (267ms) : 264, 270
master - mean (267ms) : 265, 270
section CallTarget+Inlining+NGEN
This PR (8914) - mean (1,141ms) : 1090, 1191
master - mean (1,140ms) : 1083, 1196
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8914) - mean (266ms) : 263, 270
master - mean (266ms) : 261, 271
section Bailout
This PR (8914) - mean (266ms) : 263, 269
master - mean (266ms) : 263, 269
section CallTarget+Inlining+NGEN
This PR (8914) - mean (1,034ms) : 979, 1088
master - mean (1,028ms) : 986, 1070
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7f77047 to
3c34a51
Compare
e0ef388 to
5e19764
Compare
73fd3c4 to
7a79f7a
Compare
5e19764 to
ddf0a72
Compare
ddf0a72 to
27f0125
Compare
7a79f7a to
183a4ea
Compare

Summary of changes
azure_eventgrid.receivespans linked to producer spans and propagate baggage to function invocations.Reason for change
Complete Azure Event Grid trace correlation through Azure Functions while preserving producer/consumer causality.
Implementation details
DD_TRACE_AZURE_EVENTGRID_BATCH_LINKS_ENABLEDto control producer span links.Test coverage
Other details
This PR is part of a larger Graphite stack.